
/**
 * 伪服务器端分页（一次性查出所有结果，但只返回部分值用于grid的显示）
 */
Ext.define('LogView', {
	extend : 'Ext.panel.Panel',
	id : 'LogView',
	title : '系统日志管理',
	iconCls : 'menu-attachment',
	layout : 'border',

	initComponent : function() {
		this.searchPanel = new KE.SearchPanel({
					region : 'north',
					items : [{
								text : '真实姓名'
							}, {
								name : 'Q_LIKES_realName',
								xtype : 'textfield',
								width : 120
							}, {
								text : 'IP'
							}, {
								name : 'Q_LIKES_ip',
								xtype : 'textfield',
								width : 120
							}, {

								text : ' 从'
							}, {
								name : 'Q_GTD_ctime',
								xtype : 'datefield',
								format : 'Y-m-d',
								width : 120
							}, {
								text : '至'
							}, {
								name : 'Q_LTD_ctime',
								xtype : 'datefield',
								format : 'Y-m-d',
								width : 120
							}, {
								text : '操作类型'
							}, {
								name : 'Q_LIKES_opType',
								xtype : 'textfield',
								width : 120
							}, {
								xtype : 'button',
								text : '查询',
								scope : this,
								iconCls : 'btn-search',
								handler : this.search
							}, {
								xtype : 'button',
								text : '清空',
								scope : this,
								iconCls : 'reset',
								handler : this.reset
							}]
				});
		this.topbar = new Ext.Toolbar({
					items : [{
								iconCls : 'btn-del',
								text : '删除系统日志',
								xtype : 'button',
								handler : this.delRecords,
								scope : this
							}, '-', {
								iconCls : 'btn-refresh',
								text : '刷新',
								xtype : 'button',
								scope : this,
								handler : function() {
									this.gridPanel.getStore().reload();
								}
							}]
				});
		this.gridPanel = new KE.GridPanel({
					url : __ctxPath + "/comm/listLog.do",
					forceFit : true,
					region : 'center',
					tbar : this.topbar,
					sorters: [{
						property: 'ctime',
						direction: 'DESC'
					}],
					forceFit: false,
					id : 'LogGrid',
					sorters: [{
						property: 'ctime',
						direction: 'DESC'
					}],
					fields : ['oid', 'loginName', 'realName', 'ctime',
							'opType', 'module', 'client', 'ip', 'hostname', 'deptName'],
					columns : [{
								header : 'ID',
								dataIndex : 'oid',
								hidden : true
							}, {
								header : '登陆名',
								dataIndex : 'loginName',
								width: 100
							}, {
								header : '真实姓名',
								dataIndex : 'realName',
								width: 100
							}, {
								header : '单位名称',
								dataIndex : 'deptName',
								width: 150
							}, {
								header : 'IP',
								dataIndex : 'ip',
								width: 90
							}, {
								header : '操作时间',
								dataIndex : 'ctime',
								flex: 1.2
							}, {
								header : '操作类型',
								dataIndex : 'opType'
							}, {
								header : '操作模块',
								dataIndex : 'module',
								width: 170
							}, {
								header : '客户端标识',
								dataIndex : 'client',
								width: 300		
							}]
				});
		this.items = [this.searchPanel, this.gridPanel];
		this.callParent();
	},

	// 重置查询表单
	reset : function() {
		this.searchPanel.getForm().reset();
	},
	// 按条件搜索
	search : function() {
		$search({
					searchPanel : this.searchPanel,
					gridPanel : this.gridPanel
				});
	},
	// 按IDS删除记录
	delByIds : function(ids) {
		var me = this;
		Ext.Msg.confirm('信息确认', '您确认要删除所选记录吗？', function(btn) {
					if (btn == 'yes') {
						Ext.Ajax.request({
									url : __ctxPath
											+ '/comm/multiDelLog.do',
									params : {
										ids : ids
									},
									method : 'POST',
									success : function(response, options) {
										Ext.ux.Toast.msg('操作信息', '成功删除该系统日志！');
										Ext.getCmp('LogGrid').getStore()
												.reload();
									},
									failure : function(response, options) {
										Ext.ux.Toast
												.msg('操作信息', '操作出错，请联系管理员！');
									}
								});
					}
				});// end of comfirm
	},
	// 删除多条记录
	delRecords : function() {
		var gridPanel = Ext.getCmp('LogGrid');
		var selectRecords = gridPanel.getSelectionModel().getSelection();
		if (selectRecords.length == 0) {
			Ext.ux.Toast.msg("信息", "请选择要删除的记录！");
			return;
		}
		var ids = [];
		for (var i = 0; i < selectRecords.length; i++) {
			ids.push(selectRecords[i].data.oid);
		}
		this.delByIds(ids);
	}
});
